From: Jonas Dreßler Date: Sun, 5 Apr 2020 18:38:21 +0000 (+0200) Subject: shell-app: Use container widget for fallback X11 app icons X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~684^2^2~529 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=85846d88f034a605f6cb0aa013f2ab80e2f760bd;p=gnome-shell.git shell-app: Use container widget for fallback X11 app icons Just like StIcon does, we should use a container widget for the fallback app icon that we get using the cairo surface property. It's needed because the widget returned by shell_app_create_icon_texture() can be resized freely, while we want the aspect ratio of the actual texture to remain the same. Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/2578 --- diff --git a/src/shell-app.c b/src/shell-app.c index 090c6d3d2..dfa7fe757 100644 --- a/src/shell-app.c +++ b/src/shell-app.c @@ -218,10 +218,17 @@ window_backed_app_get_icon (ShellApp *app, if (meta_window_get_client_type (window) == META_WINDOW_CLIENT_TYPE_X11) { - widget = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (), - G_OBJECT (window), - "icon", - scaled_size); + StWidget *texture_actor; + + texture_actor = + st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (), + G_OBJECT (window), + "icon", + scaled_size); + + widget = g_object_new (ST_TYPE_BIN, + "child", texture_actor, + NULL); } else {